﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Webdiyer.WebControls.Mvc;
using System.ComponentModel.DataAnnotations;

namespace MvcWeb.ViewModels.Inventory
{
    public class InventoryModel
    {
        public PagedList<EAM.Model.AssetInventory> inventoryModelList { get; set; }
        public InvetorySearchConditonModel conditionModel { get; set; }

    }

    public class InvetorySearchConditonModel
    {
        [Display(Name = "盘点名称")]
        public string AssetInventoryName { get; set; }

        [Display(Name = "盘点人")]
        public Guid? InventoryMember { get; set; }
        [Display(Name = "盘点审核人")]
        public Guid? InventoryCheckMember { get; set; }
        [Display(Name = "盘点状态")]
        public Int32? InventoryState { get; set; }
        [Display(Name = "盘点开始时间")]
        public DateTime? InventoryStartTime { get; set; }
        [Display(Name = "盘点结束时间")]
        public DateTime? InventoryEndTime { get; set; }
    }


    public class InventoryDetailModel
    {
        public PagedList<MvcWeb.ViewModels.Inventory.InventoryDetailViewModel> inventoryDetailModelList { get; set; }
        public int InventoryID { get; set; }
    }

    public class InventoryDetailViewModel
    {
		public Int32 AssetID { get; set; }
		public String AssetName { get; set; }
        public String AssetBarcode { get; set; }
		public String AssetLabel { get; set; }
        public String AssetCustodyAddress { get; set; }

        public Int32 AssetInventoryDetailID { get; set; }
		public String InventoryBarcode { get; set; }
		public String InventoryLabel { get; set; }
		public Int32? InventoryAssetID { get; set; }
		public String InventoryCustodyAddress { get; set; }
        public Boolean InventoryExists { get; set; }
        public String InventoryHandleAdvice { get; set; }
        public String InventoryHandleResult { get; set; }
        public String InventoryRemark { get; set; }

        public Decimal? AssetPurchaseCost { get; set; }
        public Decimal? AssetWorth { get; set; }

        public Int32 AssetCID { get; set; }

        public Int32? AssetStatus { get; set; }
        public Int32? AssetOut { get; set; }
        public Int32? AssetFrom { get; set; }

        public Int32? InventoryAssetCount { get; set; }
    }

    public class InventoryDetailIDs
    {
        public string inventoryDetailIDs { get; set; }
        public Int32 AssetInventoryID { get; set; }
    }


    public class InventoryCateDetailViewModel
    {
        //资产分类ID
        public Int32 CategoryID { get; set; }
        //资产分类名称
        public String CategoryName { get; set; }

        //资产分类总的数量
        public int? CategoryAllCount { get; set; }
        //资产分类总金额
        public decimal? CategoryAllMoney { get; set; }

        //资产分类原总金额
        public decimal? CategorySourceAllMoney { get; set; }


        //资产分类状态为使用的数量
        public int? CategoryUsedCount { get; set; }
        //资产分类使用的金额
        public decimal? CategoryUsedMoney { get; set; }

        //资产分类状态为库存的数量
        public int? CategoryStoredCount { get; set; }
        //资产分类状态为库存的金额
        public decimal? CategoryStoredMoney { get; set; }

        //资产分类状态为报废的数量
        public int? CategoryWorthlessCount { get; set; }
        //资产分类状态为报废的金额
        public decimal? CategoryWorthlessMoney { get; set; }

        //资产分类状态为销毁的数量
        public int? CategoryDestoryCount { get; set; }
        //资产分类状态为销毁的金额
        public decimal? CategoryDestoryMoney { get; set; }

        //资产分类状态为捐赠的数量
        public int? CategoryPresentCount { get; set; }
        //资产分类状态为捐赠的金额
        public decimal? CategoryPresentMoney { get; set; }

        //资产分类状态为盘点的数量
        public int? CategoryInventoryCount { get; set; }
        //资产分类状态为盘点的金额
        public decimal? CategoryInventoryMoney { get; set; }

        //资产分类状态为盘盈的数量
        public int? CategoryInventoryAddCount { get; set; }
        //资产分类状态为盘盈的金额
        public decimal? CategoryInventoryAddMoney { get; set; }

        //资产分类状态为盘亏的数量
        public int? CategoryInventorySubCount { get; set; }
        //资产分类状态为盘亏的金额
        public decimal? CategoryInventorySubMoney { get; set; }

    }

}